/* Приоритеты операций и порядок вычислений */ 

unsigned char x= 0b11110000;	// Объявляем и инициализируем 
// беззнаковый байт x
unsigned char y = 0b00111100; 	// Объявляем беззнаковый байт y

y&=~x|0xAA;

/* Первой выполняется операция побитового логического отрицания (~), 
   как имеющая самый высокий приоритет. После ее выполнения все 1 в
   переменной x заменятся на 0, а 0 - на 1 (см. "Унарные операции", 
   стр. 320). Затем выполняется операция поразрядного ИЛИ (|) полученного
   значения (0b00001111) с числом 0xAA=0b10101010. При этом каждый бит
   первого операнда сравнивается с соответствующим битом второго операнда.
   Если любой (или оба) из сравниваемых битов равен 1, то соответствующий
   бит результата устанавливается в 1, в противном случае - в 0 
   (см. "Бинарные операции", стр. 323). Последней выполняется операция
   поразрядного ИЛИ с присваиванием (&=) значения y и результата предыдущих
   операций (0b10101111). При этом каждый бит первого операнда сравнивается
   с соответствующим битом второго операнда. Если оба сравниваемых бита
   1, то соответствующий бит результата устанавливается в 1, в противном
   случае в 0 (см. "Бинарные операции", стр. 323). Полученное значение
   (0b00101100) присваивается переменной y.
   Результат: y=0b00101100 */
